# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: ETH Sepolia Publish Docker image

on:
  workflow_dispatch:
  push:
    branches:
      - production-eth-sepolia
jobs:
  push_to_registry:
    name: Push Docker image to Docker Hub
    runs-on: ubuntu-latest
    env:
      RELEASE_VERSION: 5.3.3
      DOCKER_CHAIN_NAME: eth-sepolia
    steps:
      - name: Check out the repo
        uses: actions/checkout@v4
      
      - name: Log in to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      
      - name: Extract metadata (tags, labels) for Docker
        id: meta
        uses: docker/metadata-action@v5
        with:
          images: blockscout/blockscout

      - name: Add SHORT_SHA env property with commit short sha
        run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
      
      - name: Build and push Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          file: ./docker/Dockerfile
          push: true
          tags: blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:latest, blockscout/blockscout-${{ env.DOCKER_CHAIN_NAME }}:${{ env.RELEASE_VERSION }}-postrelease-${{ env.SHORT_SHA }}
          build-args: |
            CACHE_EXCHANGE_RATES_PERIOD=
            API_V1_READ_METHODS_DISABLED=false
            DISABLE_WEBAPP=false
            API_V1_WRITE_METHODS_DISABLED=false
            CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED=
            ADMIN_PANEL_ENABLED=false
            CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL=
            BLOCKSCOUT_VERSION=v${{ env.RELEASE_VERSION }}-beta.+commit.${{ env.SHORT_SHA }}
            RELEASE_VERSION=${{ env.RELEASE_VERSION }}